草庐IT

HGame 2023 Week4 部分Writeup

全部标签

CloudPanel RCE漏洞复现(CVE-2023-35885)

0x01产品简介CloudPanel是一个基于Web的控制面板或管理界面,旨在简化云托管环境的管理。它提供了一个集中式平台,用于管理云基础架构的各个方面,包括虚拟机(VM)、存储、网络和应用程序。0x02漏洞概述由于2.3.1之前的CloudPanel具有不安全的文件管理器cookie身份验证。未经身份验证的攻击者可以利用此问题在服务器上创建任意文件,创建PHP后门文件可远程代码执行,并且获取服务器权限。0x03影响范围CloudPanel >= v2.0.0 && 0x04复现环境FOFA:title=="CloudPanel|LogIn"0x05漏洞复现创建文件POST/file-mana

【论文阅读】(CVPR 2023 Highlight)Devil is in the Queries: Advancing Mask Transformers for Real-world ...

论文地址:https://arxiv.org/abs/2304.00212代码:未开源记录一下吸引我的地方,我感觉他会提问题。OOD(OutofDistribution)问题,OOD(Out-of-Distribution)问题指的是模型在处理与训练数据分布不同的数据时的性能下降。在机器学习中,模型通常在特定分布上进行训练,但在实际应用中,可能会遇到与训练数据分布不同的数据。这种情况下,模型可能无法准确地进行泛化,导致性能下降,甚至出现错误的预测。包含两类a.语义偏移semanticshiftb.协方差偏移covariate。针对的问题:OOD问题。长尾问题(数据在不同类别上数量差距过大,比如

c++ - 如何在opencv中获取矩阵的一部分

我在openCV中有这个矩阵:cv::Matx44dm;我想从这个矩阵中得到左上角的3x3矩阵。执行此操作最简单、最快的方法是什么?我可以通过以下方式做到:cv::Matx44dm;cv::Matx33do;for(inti=0;i但我正在寻找一种更简单、更快捷的方法(如果存在的话)! 最佳答案 Matx有一个名为get_minor()的函数,它可以完全满足您的需求。我没有在OpenCV的文档中看到它,但它存在于实现中。在您的情况下,它将是:o=m.get_minor(0,0);模板参数是小矩阵的高和宽。值(0,0)是裁剪矩阵的起点

2023年12周记

2023年12周(3月19号-3月25号)本文用时74min(2023-03-25写的,22:03-23:17)3月计划ext2文件系统+复习之前2个月的笔记,输出:ext2笔记(源码,可以逐个文件读)本周稍微看了ceph+分布式存储刷leetcode:没时间刷50道,计划20道吧,整理和复习之前的100道,bytopic本周2道,正好100道,但笔记还未写Linux编程基础知识(本月是线程),不是在api应用,更主要的是项目实践场景,把手上的几本书相关章节,都放在一起看(下个月搞网络,但事实上两者混起来了,网络一些模型中存在多线程应用)复习编程实践+编程手册上的内容,线程知识点差不多,感觉要

NAS下2023年最常用的Docker服务

服务推荐密码服务(bitwarden)我就属于从来记不住密码的那种人,这服务对我来说简直就是救星!之前我是国内应用统一一个密码,国外应用统一一个密码,密码中必须加特殊符号的一个密码,等等…这种规则可以确保在5次左右试出正确的密码。可是随着越来越多的密码或账号,我已经完全理不清了,只能一次一次的试,很浪费时间。而且,之前使用过于依赖360浏览器自带的密码存储功能,导致我之后用其他浏览器或系统时,都会被指定的浏览器限制,比如360的mac版本内核很低很久没维护,都给我的使用带来了不便。好在有bitwarden!现在我新注册的账号,密码都是随机字符串,我也不需要刻意去记忆,记忆的工作就全权交给bit

c++ - 如何选择部分模板特化?

请解释一下模板特化选择的规则。我有一个例子:templatestructS:false_type{};templatestructS:true_type{};cout::value;为什么输出是false?一般来说,在特殊类中默认模板参数typenameT2=int会发生什么?它是否引入了一些影响? 最佳答案 选择模板特化分为五个步骤:采用主模板声明。(S)填写用户指定的模板参数。(T1)仅限函数模板:推导额外的模板参数。对剩余的模板参数使用默认值。(T2)使用偏序算法(C++1414.5.6.2)选择最匹配的特化。(不匹配,所以忽

c++ - 快速找到以 2 为底的对数的整数部分

计算float以2为底的对数的整数部分的有效方法是什么?有点像N=ceil(log2(f))或N=floor(log2(f))对于floatf。我想这有可能以某种方式非常有效地实现,因为人们可能只需要访问浮点指数。EDIT2:我主要对准确性不感兴趣。我可以容忍+-1的错误。我列出这两种变体只是作为示例,因为其中一种可能在计算上比另一种更便宜(但我不知道)。我需要这个来控制算法的精度,其中参数f是一些公差,并且需要对数来控制项数。日志的准确计算并不重要。编辑:这与其他许多要求integer参数的log2的问题(例如Howtodoanintegerlog2()inC++?)不重复。这是关于

c++ - 是否可以将 vector 的一部分作为 vector 发送给函数?

这个问题在这里已经有了答案:HowcanIpassapartofavectorasafunctionargument?(7个答案)关闭5年前。我想看看是否可以将vector的一部分传递给函数,以便它显示为函数的法线vector。更重要的是,我希望这在O(1)常数时间内完成。我不想迭代vector来制作一个新vector。事实上,我也想在下面的例子中将新vector的大小更改为40。voidfunc(vector&v){//callingindex10to50ofvfunc(v[10..50])}

用于生成部分 switch 语句的 C++ 模板?

是否可以写一个模板Foo这样:Foo给予switch(x){case1:return1;break;case2:return4;break;}同时Foo给予switch(x){case1:return1;break;case2:return4;break;case3:return9;break;}?谢谢!编辑:将上面的代码更改为returnsquare,正如许多人猜测的那样(我问得不好) 最佳答案 是的,制作一个带有超大主开关的模板,并希望/帮助优化器将其变成一个小开关。请参阅我对您其他问题的回答Runtimetypeswitchf

c++ - 如何根据条件声明一个对象并使其在函数的其余部分可用?

我有两个类,它们都具有相同的函数名称,它们根据用户输入做类似的事情。我需要做这样的事情。if(myapp.advanced==true)class1a;elseclass2a;但由于a是从if内部声明的,因此它在下一行中不可用。如何解决上述情况?a.something(); 最佳答案 我能想到的两种方式:1)使class1和class2派生自某个基类classB,然后执行:shared_ptra;if(myapp.advanced==true)a.reset(newclass1);elsea.reset(newclass2);a->